home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / progem.arc / gem8.asc < prev    next >
Text File  |  1987-10-10  |  25KB  |  480 lines

  1.                         *PROFESSIONAL GEM*
  2.                            By Tim Oren
  3.                    Column #8:  USER INTERFACES
  4.                             HOMILY #1
  5.  
  6.      AND NOW FOR SOMETHING COMPLETELY DIFFERENT!  In response to a
  7. number of requests, this installment of ST PRO GEM will be devoted
  8. to examining a few of the principles of computer/human interface
  9. design, or "religion" as some would have it.  I'm going to start
  10. with basic ergonomic laws, and try to draw some conclusions which
  11. are fairly specific to designing for the ST.  If this article
  12. meets with general approval, further "homilies" may appear at
  13. irregular intervals as part of the ST PRO GEM series.
  14.  
  15.      For those who did NOT ask for this topic, it seems fair to
  16. explain why your diet of hard-core technical information has been
  17. interrupted by a sermon!  As a motivater, we might consider why
  18. some programs are said by reviewers to have a "hot" feel (and
  19. hence sell well!) while others are "confusing" or "boring".
  20.  
  21.      Alan Kay has said that "user interface is theatre".  I think
  22. we may be able to take it further, and suggest that a successful
  23. program works a bit of magic, persuading the user to suspend his
  24. disbelief and enter an imaginary world behind the screen, whether
  25. it is the mathematical world of a spreadsheet, or the land of Pacman
  26. pursued by ghosts.
  27.  
  28.      A reader of a novel or science fiction story also suspends
  29. disbelief to participate in the work.  Bad grammar and clumsy plotting
  30. by the author are jarring, and break down the illusion.  Similarly,
  31. a programmer who fails to pay attention to making his interface
  32. fast and consistent will annoy the user, and distract him from
  33. whatever care has been lavished on the functional core of the program.
  34.  
  35.      CREDIT WHERE IT'S DUE.  Before launching into the discussion
  36. of user interface, I should mention that the general treatment and
  37. many of the specific research results are drawn from Card, Newell,
  38. and Moran's landmark book on the topic, which is cited at the end
  39. of the article.  Any errors in interpretation and application to
  40. GEM and the ST are entirely my own, however.
  41.  
  42.      FINGERTIPS.  We'll start right at the user's fingers with the
  43. basic equation governing positioning of the mouse, Fitt's Law,
  44. which is given as
  45.  
  46.      T = I * LOG2( D / S + .5)
  47.  
  48.  where T is the amount of time to move to a target, D is the distance
  49. of the target from the current position, and S is the size of the
  50. target, stated in equivalent units.  LOG2 is the base 2 (binary)
  51. logarithm function, and I is a proportionality constant, about
  52. 100 milliseconds per bit, which corresponds to the human's "clock
  53. rate" for making incremental movements.
  54.  
  55.      We can squeeze an amazing amount of information out of this
  56. formula when attempting to speed up an interface.  Since motion time
  57. goes up with distance, we should arrange the screen with the
  58. usual working area near the center, so the mouse will have to move
  59. a smaller distance on average from a selected object to a menu or
  60. panel.  Likewise, any items which are usually used together should
  61. be placed together.
  62.  
  63.      The most common operations will have the greater impact on
  64. speed, so they should be closest to the working area and perhaps
  65. larger than other icons or menu entries.  If you want to have
  66. all other operations take about the same time, then the targets
  67. farthest from the working area should be larger, and those closer
  68. may be proportionately smaller.
  69.  
  70.      Consider also the implications for dialogs.  Small check boxes
  71. are out.  Large buttons which are easy to hit are in.  There should
  72. be ample space between selectable items to allow for positioning
  73. error.  Dangerous options should be widely separated from common
  74. selections.
  75.  
  76.      MUSCLES.  Anyone who has used the ST Desktop for any period
  77. of time has probably noticed that his fingers now know where to find
  78. the File menu.  This phenomenon is sometimes called "muscle memory",
  79. and its rate of onset is given by the Power Law of Practice:
  80.  
  81.      T(n) = T(1) * n ** (-a)
  82.  
  83. where T(n) is the time on the nth trial, T(1) is the time on the
  84. first trial, and a is approximately 0.4.  (I have appropriated
  85. ** from Fortran as an exponentiation operator, since C lacks one.)
  86.  
  87.      This first thing to note about the Power Law is that it only
  88. works if a target stays in the same place!  This should be a potent
  89. argument against rearranging icons, menus, or dialogs without some
  90. explicit request by the user.  The time to hit a target which moves
  91. around arbitrarily will always be T(1)!
  92.  
  93.      In many cases, the Power Law will also work for sequences of
  94. operations to even greater effect.  If you are a touch typist, you
  95. can observe this effect by comparing how fast you can enter "the"
  96. in comparison to three random letters.  We'll come back shortly
  97. to consider what we can do to encourage this phenomenon.
  98.  
  99.      EYES.  Just as fingers are the way the user sends data to the
  100. computer, so the eyes are his channel from the machine.  The rate
  101. at which information may be passed to the user is determined by
  102. the "cycle time" of his visual processor.  Experimental results
  103. show that this time ranges between 50 and 200 milliseconds.
  104.  
  105.      Events separated by 50 milliseconds or less are always
  106. perceived as a single event.  Those separated by more than 200
  107. milliseconds are always seen as separate.  We can use these
  108. facts in optimizing user of the computer's power when driving the
  109. interface.
  110.  
  111.      Suppose your application's interface contains an icon which
  112. should be inverted when the mouse passes over it.  We now know
  113. that flipping it within one twentieth of a second is necessary
  114. and sufficient.  Therefore, if a "first cut" at the program achieves
  115. this performance, there is no need for further optimization, unless
  116. you want to interleave other operations.  If it falls short, it will
  117. be necessary to do some assembly coding to achieve a smooth feel.
  118.  
  119.      On the other hand, two actions which you want to appear distinct
  120. or convey two different pieces of information must be separated
  121. by an absolute minimum of a fifth of a second, even assuming that
  122. they occur in an identical location on which the user's attention
  123. is already focused.
  124.  
  125.      We are able to influence the visual processing rate within the
  126. 50 to 200 millisecond range by changing the intensity of the stimulus
  127. presented.  This can be done with color, by flashing a target, or
  128. by more subtle enhancements such as bold face type.  For instance,
  129. most people using GEM soon become accustomed to the "paper white"
  130. background of most windows and dialogs.  A dialog which uses a
  131. reverse color scheme, white letters on black, is visually shocking
  132. in its starkness, and will immediately draw the user's eyes.
  133.  
  134.      It should be quickly added that stimulus enhancement will only
  135. work when it unambiguously draws attention to the target.  Three or
  136. four blinking objects scattered around the screen are confusing, and
  137. worse than no enhancement at all!
  138.  
  139.      SHORT-TERM MEMORY.  Both the information gathered by the eyes
  140. and movement commands on their way to the hand pass through short-term
  141. memory (also called working memory).  The amount of information which
  142. can be held in short-term memory at any one time is limited.  You can
  143. demonstrate this limit on yourself by attempting to type a sheet of
  144. random numbers by looking back and forth from the numbers to the
  145. screen.  If you are like most people, you will be able to remember
  146. between five and nine numbers at a time.  So universal is this
  147. finding that it is sometimes called "the magic number seven, plus
  148. or minus two".
  149.  
  150.      This short-term capacity sets a limit on the number of choices
  151. which the user can be expected to grasp at once.  It suggests that
  152. the number of independent choices in a menu, for instance, should
  153. be around seven, and never exceed nine.  If this limit is violated,
  154. then the user will have to take several glances, with pauses to
  155. think, in order to make a choice.
  156.  
  157.      CHUNKING.  The effective capacity of short-term memory can be
  158. increased when several related items are mentally grouped as a "chunk".
  159. Humans automatically adopt this strategy to save themselves time.
  160. For instance, random numbers had to be used in